【Deepin 20系统】Linux系统安装N卡驱动前的安装gcc三种方法详解

您所在的位置:网站首页 deepin15升级到20正式版 缺少依赖 无法进去终端 【Deepin 20系统】Linux系统安装N卡驱动前的安装gcc三种方法详解

【Deepin 20系统】Linux系统安装N卡驱动前的安装gcc三种方法详解

2024-07-12 05:09| 来源: 网络整理| 查看: 265

目录 1 引言2 最简单的方式3 源码安装gcc3.1 关联清华的gcc git库3.2 进入下载到的gcc文件查看要下载的版本名称3.3 切换到branch gcc-9上面3.4 编译和安装3.5 替换下载镜像源3.6 编译安装3.7 查看是否成功 4 rpm包安装4.1 下载rpm依赖包4.2 安装依赖包

1 引言

参考博客Linux安装gcc的四种方法 参考博客Deepin源码安装gcc 三种方式安装gcc,每种方式对应不同的情况。而且为了使得显卡驱动能安装成功,gcc版本尽量是gcc-10。 (1)yum安装 (适用RedHat、CentOS系统) 命令行直接输入yum install gcc g++ (2)apt-get安装 (适用debian,ubuntu系统) 命令行直接输入sudo apt-get install gcc g++ (3)源码安装(适合升级gcc版本的用户,不适合系统本身没有gcc的用户) (4)rpm包安装(比较复杂的方式,下下策)

2 最简单的方式

(1)安装gcc-7

sudo apt install gcc-7 g++-7

(2)删除原来版本gcc建立的软链接

sudo rm -rf /usr/bin/gcc sudo rm -rf usr/bin/g++

(3)建立新的gcc版本的软连接

sudo ln -s /usr/bin/gcc-7 /usr/bin/gcc sudo ln -s /usr/bin/g++-7 /usr/bin/g++

(4)查看gcc版本

gcc --version

就可以看到gcc版本输出成功

3 源码安装gcc

此方法将会费时一个小时左右编译,慎重考虑。

3.1 关联清华的gcc git库

具体可以参考:https://mirrors.tuna.tsinghua.edu.cn/help/gcc.git/

git clone https://mirrors.tuna.tsinghua.edu.cn/git/gcc.git

3.2 进入下载到的gcc文件查看要下载的版本名称

cd gcc git branch

可以看到当前是处于master上面,我们不需要安装最新master上面的版本,只需要安装某个release的branch code。 我们先看看有哪些branch

git branch -a

… remotes/origin/releases/gcc-4.9 remotes/origin/releases/gcc-5 remotes/origin/releases/gcc-6 remotes/origin/releases/gcc-7 remotes/origin/releases/gcc-8 remotes/origin/releases/gcc-9 … 上面省略号部分是各种不同的branch,由于我们只需要安装gcc-9的最新代码

3.3 切换到branch gcc-9上面

git checkout releases/gcc-9

切换之后,当前目录下的源码也变成了最新的gcc-9下的代码。 查看是否git到本地目录

git branch

输出 master releases/gcc-9

3.4 编译和安装

提前准备一个软件

sudo apt-get install flex

flex和yacc是编译器做词法分析的,在我安装的过程中,提示需要这个,否则会报错,所以我们提前安装好了。(参考:https://www.cnblogs.com/cyanrose/p/11490979.html)

3.5 替换下载镜像源

(1)打开文件

vim ./contrib/download_prerequisites

这个脚本是用来检测是否依赖满足,同时会下载几个文件。但是有个问题在于,在国内去通过这个脚本下载内容太慢了,会报错修改为base_url=‘http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/’。wq保存退出。 (参考:https://blog.csdn.net/davidhopper/article/details/79681695) (2)运行脚本

sudo bash ./contrib/download_prerequisites

可能由于网速的关系,你即使修改了base_url,运行可能会报错,直接删除掉下载好的内容,然后再次运行。我运行了三次才成功。

3.6 编译安装

./configure --disable-multilib

后面加上–disable-multilib的原因是因为我的是64位的系统,没有32位的库。你可以不加上这个选项,然后报错了再加上就好了。

sudo make -j 8

如果你按照前面所说安装了flex,在deepin里面运行上面命令应该不会报错。如果没有安装flex,安装报错了,请再安装了flex,同时记住在编译之前,必须先clean掉之前编译的内容。比如:sudo make realclean 然后再./configure --disable-multilib,最后再sudo make -j8 上面安装很耗时间,看你的CPU性能,我的是i5u系列,花了接近1小时

sudo make install

3.7 查看是否成功

gcc -v

Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/9.3.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ./configure --disable-multilib Thread model: posix gcc version 9.3.1 20200328 (GCC)

g++ -v

Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/9.3.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ./configure --disable-multilib Thread model: posix gcc version 9.3.1 20200328 (GCC)

4 rpm包安装 4.1 下载rpm依赖包

在rpm包搜索网需要下载6个rpm包。本人以安装gcc-10举例。 在这里插入图片描述

需要下载包有以下六个。

1. cpp-10.2.1-8.fc34.x86_64.rpm 2. kernel-headers-5.10.0-0.rc4.git0.1.fc34.aarch64.rpm 3. glibc-headers-2.31-4.fc32.x86_64.rpm 4. glibc-devel-2.32.9000-16.fc34.x86_64.rpm 5. libgomp-10.2.1-8.fc34.aarch64.rpm 6. gcc-10.2.1-8.fc34.aarch64.rpm 4.2 安装依赖包

(1)gcc顺序安装下列包,按顺序执行。

1. rpm -ivh cpp-10.2.1-8.fc34.x86_64.rpm 2. rpm -ivh kernel-headers-5.10.0-0.rc4.git0.1.fc34.aarch64.rpm 3. rpm -ivh glibc-headers-2.31-4.fc32.x86_64.rpm 4. rpm -ivh glibc-devel-2.32.9000-16.fc34.x86_64.rpm 5. rpm -ivh libgomp-10.2.1-8.fc34.aarch64.rpm 6. rpm -ivh gcc-10.2.1-8.fc34.aarch64.rpm

(2)可能遇到的错

报错“Failed dependencies: /bin/sh is needed by ****” 在这里插入图片描述

解决办法:就换一种安装方式

1. alien -i cpp-10.2.1-8.fc34.x86_64.rpm 2. alien -i kernel-headers-5.10.0-0.rc4.git0.1.fc34.aarch64.rpm 3. alien -i glibc-headers-2.31-4.fc32.x86_64.rpm 4. alien -i glibc-devel-2.32.9000-16.fc34.x86_64.rpm 5. alien -i libgomp-10.2.1-8.fc34.aarch64.rpm 6. alien -i gcc-10.2.1-8.fc34.aarch64.rpm

虽然过程中有很多warning,但是不用管它。

在安装某个包的时候报错:***.rpm is for architecture aarch64 ; the package cannot be built on this system 解决办法 在命令行查看 dpkg --print-architecture

输出arm64,则换以下方式安装这个包。***表示包名

sudo alien --to-deb ./***.rpm --target=arm64

如果输出amd64,则换以下方式安装这个包。***表示包名

sudo alien --to-deb ./***.rpm --target=amd64

4.3 查看是否安装成功

gcc -v


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3